// 7-3 最大公约数和最小公倍数 (15分)
// 本题要求两个给定正整数的最大公约数和最小公倍数。

// 输入格式:
// 输入在一行中给出两个正整数M和N（≤1000）。

// 输出格式:
// 在一行中顺序输出M和N的最大公约数和最小公倍数，两数字间以1空格分隔。
#include <stdio.h>

int GCD(int m, int n);
int main()
{
    int m, n;
    scanf("%d%d", &m, &n);
    int gcd = GCD(m, n);
    int mcm = m * n / gcd;
    printf("%d %d",gcd, mcm);

    return 0;
}

int GCD(int m, int n)
{
    if (m % n == 0)
    {
        return n;
    }
    else
    {
        return GCD(n, m % n);
    }
}
// 输入样例:
// 511 292

      
    
// 输出样例:
// 73 2044